package br.com.bancoeXtreme.tratadoresxml;

import java.sql.SQLException;

import br.com.bancoeXtreme.logica.Conta;
import br.com.bancoeXtreme.operacao.Operacao;

/** 
 * 
 * @author Fernando, Haron e Thiago
 * @version 1.0
 * @since Release 01
 * @param Arquivo xml que � recebido do socket
 * @brief Tratamento de Login
 * 
*/

public class Login {
	String numeroconta = "";
	String senha = "";
	String idAgencia = "";
	
	/**
	 * @brief Construtor da classe
	 * @param numeroconta Número da conta que deseja ter acesso
	 * @param senha Senha para acessar a conta
	 * @param idAgencia Número da agência de onde foi criada a conta
	 * @throws SQLException
	 */
	public Login(String numeroconta, String senha, String idAgencia) throws SQLException {
		Operacao operacao = new Operacao();

		//verifica no banco e envia resposta
		Conta conta = operacao.realizarLogin(numeroconta, senha, idAgencia);
		
		System.out.println(conta.getIdCliente());
		System.out.println(conta.getSaldo());
		
		//Define o valor dos atributos da classe
		this.setNumeroconta(Integer.toString(conta.getIdConta()));  
		this.setSenha(conta.getSenha());		
		this.setIdAgencia(Integer.toString(conta.getAgencia()));
	}
	
	/** 
	 * 
	 * @param Instancia iniciada
	 * @brief Retorna o número da agência da conta
	 * @return Número da agência da conta
	 * 
	*
/
	public String getIdAgencia() {
		return idAgencia;
	}

	/** 
	 * 
	 * @param Instancia iniciada
	 * @brief Seta o numero da agência conta
	 * @return NULL
	 * 
	*/
	public void setIdAgencia(String idAgencia) {
		this.idAgencia = idAgencia;
	}

	/** 
	 * 
	 * @param Instancia iniciada
	 * @brief Imprime informa��es de login
	 * @return Imprime na tela informa��es de login
	 * 
	*/
	
	public void printLogin() {
		System.out.println(this.numeroconta);
		System.out.println(this.senha);
	}
	
	/** 
	 * 
	 * @param Instancia iniciada
	 * @brief Retorna o numero da conta
	 * @return numero da conta
	 * 
	*/
	
	
	public String getNumeroconta() {
		return numeroconta;
	}
	
	/** 
	 * 
	 * @param Instancia iniciada
	 * @brief Seta o numero da conta
	 * @return NULL
	 * 
	*/

	public void setNumeroconta(String numeroconta) {
		this.numeroconta = numeroconta;
	}
	
	/** 
	 * 
	 * @param Instancia iniciada
	 * @brief Retorna a senha da conta
	 * @return senha da conta
	 * 
	*/
	public String getSenha() {
		return senha;
	}
	
	/** 
	 * 
	 * @param Instancia iniciada
	 * @brief Seta o numero da senha
	 * @return NULL
	 * 
	*/
	public void setSenha(String senha) {
		this.senha = senha;
	}


}
